package ae.pcfc.cldos.online.common.clddb.domain;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.envers.AuditTable;
import org.hibernate.envers.Audited;


/**
 * The persistent class for the T_CLDOS_PROCESS_STEP_ACTIONS database table.
 * 
 */
@Entity
@Table(name="T_CLDOS_PROCESS_STEP_ACTIONS")
@Audited
@AuditTable(value="T_CLDOS_PR_STEP_ACT_AUD")
@SequenceGenerator(name = "SQ_CLDOS_PROCESS_ACT_ID", sequenceName = "SQ_CLDOS_PROCESS_ACT_ID", initialValue = 1, allocationSize = 1)
public class ProcessStepAction implements Serializable {
	

	/**
	 * 
	 */
	private static final long serialVersionUID = 8480911264314442036L;

	@Id
	@GeneratedValue( strategy = GenerationType.SEQUENCE, generator="SQ_CLDOS_PROCESS_ACT_ID")
	@Column(name="ACTION_ID")
	private long actionId;

	@Column(name="ACTION_COMMENTS")
	private String actionComments;

    @Temporal( TemporalType.DATE)
	@Column(name="ACTION_DATE")
	private Date actionDate;

	@Column(name="ACTION_DESC")
	private String actionDesc;

	@Column(name="ACTION_USER")
	private String actionUser;

	//bi-directional many-to-one association to AppMetaData
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="APPLICATION_ID")
	private AppMetaData AppMetaData;

	//bi-directional many-to-one association to Process
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="PROCESS_CODE")
	private Process Process;

	//bi-directional many-to-one association to ProcessStep
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="PROCESS_STEP_CODE")
	private ProcessStep ProcessStep;

    public ProcessStepAction() {
    }

	public long getActionId() {
		return this.actionId;
	}

	public void setActionId(long actionId) {
		this.actionId = actionId;
	}

	public String getActionComments() {
		return this.actionComments;
	}

	public void setActionComments(String actionComments) {
		this.actionComments = actionComments;
	}

	public Date getActionDate() {
		return this.actionDate;
	}

	public void setActionDate(Date actionDate) {
		this.actionDate = actionDate;
	}

	public String getActionDesc() {
		return this.actionDesc;
	}

	public void setActionDesc(String actionDesc) {
		this.actionDesc = actionDesc;
	}

	public String getActionUser() {
		return this.actionUser;
	}

	public void setActionUser(String actionUser) {
		this.actionUser = actionUser;
	}

	public AppMetaData getAppMetaData() {
		return this.AppMetaData;
	}

	public void setAppMetaData(AppMetaData AppMetaData) {
		this.AppMetaData = AppMetaData;
	}
	
	public Process getProcess() {
		return this.Process;
	}

	public void setProcess(Process Process) {
		this.Process = Process;
	}
	
	public ProcessStep getProcessStep() {
		return this.ProcessStep;
	}

	public void setProcessStep(ProcessStep ProcessStep) {
		this.ProcessStep = ProcessStep;
	}
	
}